package com.cykj.admin.service;

import com.cykj.admin.vo.MenuVO;
import com.cykj.common.dto.ResponseDTO;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;

/**
 * @BelongsProject: smart_recruit_backend
 * @BelongsPackage: com.cykj.admin.service
 * @Author: 小小卢
 * @CreateTime: 2025-08-20 09:43
 * @Description: TODO
 */
public interface IMenuService {

    //构建树形菜单
    ResponseDTO buildTreeMenu(MenuVO menuVO);

    //查询所有菜单
    ResponseDTO getAllMenu();

    //查询菜单
    ResponseDTO getMenuByAdmin(MenuVO menuVO);

    //查询菜单Id(用于获取表格内菜单id)
    ResponseDTO getMenuId();

    //增加菜单
    ResponseDTO addMenu(MenuVO menuVO);

    //修改菜单
    ResponseDTO updateMenu(MenuVO menuVO);

    /**
    * @Description: 通过角色id获取角色对应菜单
    * @Param: [roleId]
    * @return: com.cykj.common.dto.ResponseDTO
    */
    ResponseDTO getMenuById(Integer roleId);

    /**
    * @Description: 获取所有角色
    * @Param: []
    * @return: com.cykj.common.dto.ResponseDTO
    */
    ResponseDTO getAllRole();


    /**
    * @Description: 修改角色拥有的权限
    * @Param: []
    * @return: com.cykj.common.dto.ResponseDTO
    */
    ResponseDTO changePerMenu(HashMap<String,Object> roleAndMenu);
}
